package com.lagou.cl.dao;

import com.lagou.cl.pojo.Resume;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * @author 程  林
 * @date 2020-04-16 21:41
 * @description //
 * @since V1.0.0
 */

/**
 * ⼀个符合SpringDataJpa要求的Dao层接⼝是需要继承JpaRepository和
 * JpaSpecificationExecutor
 * <p>
 * JpaRepository<操作的实体类类型,主键类型> 封装了基本的CRUD操作
 * <p>
 * JpaSpecificationExecutor<操作的实体类类型>封装了复杂的查询（分⻚、排序等）
 */
public interface ResumeDao extends JpaRepository<Resume, Long>, JpaSpecificationExecutor<Resume> {


	@Query("from Resume where id = ?1")
	public abstract List<Resume> findByJpql(Long id);

	/**
	 * nativeQuery : true 使用数据库的sql语句
	 *
	 * @param id
	 * @return
	 */
	@Query(value = "select * from tb_resume where id = ?1", nativeQuery = true)
	public abstract List<Resume> findBYSql(Long id);

	/**
	 * @param name
	 * @return
	 */
	public abstract List<Resume> findByNameLike(String name);

	public abstract List<Resume> findByNameLikeOrPhoneLike(String name, String phone);

}
